﻿var ultimo_id;
var salir = "0";
var NombreEdificio = "";
var cargoCP = sessionStorage.getItem("cargo");
var edif = sessionStorage.getItem("edificio");
var user = sessionStorage.getItem('idUsuario');
var box3;

$(document).ready(main);

function main() {
    
//REGISTRAR
    $("#RegTbxFechaRegistro").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#RegTbxFechaInicial").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#RegTbxFechaFinal").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#RegBtnRegistrar").click(registrarContratoPreventivo);
    $("#RegBtncancelar").click(menuContratoPreventivo);
    $("#RvmBtnBuscarEdificio").click(buscarEdificio);
    $("#RvmBtnBuscarMantenimiento").click(buscarMantenible);    
    $("#RvmBtnBuscarProv").click(buscarProveedor);

    $("#RegBtnBuscarEdificio").button({
        icons: {
            primary: "ui-icon-search"
        },
        text: false
    });

    $("#RegBtnBuscarProveedor").button({
        icons: {
            primary: "ui-icon-search"
        },
        text: false
    });

    $("#AddMantenible").button({
        icons: {
            primary: "ui-icon-plus"
        },
        text: false
    });
    $("#DelMantenible").button({
        icons: {
            primary: "ui-icon-minus"
        },
        text: false
    });
    $('#DelMantenible').attr('disabled', 'disabled');
    $('#AddMantenible').click(agregarMant);
    $('#DelMantenible').click(eliminarMant);

    formatoBuscar("BtnBscModalMant1");
    buscarMantenibles(1);
    cargarDepartamentos();
    ProvModal();

    //BUSQUEDA
    $("#BscTbxFechaInicio").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#BscTbxFechaFin").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#BscBtnCancelar").click(menuContratoPreventivo);
    $("#BscBtnModificar").hide();
    $("#BscBtnEliminar").hide();
    $("#BscBtnEliminar").click(eliminarContratoPreventivo);
    $("#BscBtnLimpiar").click(LimpiarBusquedaCP);
    $("#BscBtnBuscar").click(buscarContratoPreventivo);
    $("#BvmTbxFecha").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#BvmTbxFechaInicio").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#BvmTbxFechaFin").datepicker({ dateFormat: 'dd/mm/yy' });
    modificarDetalle('Detalle1');
    $("#Buscar").hide();
    $("#Eliminar").hide();
    $("#Modificar").hide();
    $("#Registrar").hide();
    
    setearEdificio(edif);
    cargarPrivilegios();
}

function cargarPrivilegios(){
    //var categoria = sessionStorage.getItem('Master');
    if (cargoCP == 4) {
        $("#Buscar").show();
        $("#Eliminar").show();
        $("#Modificar").show();
        $("#Registrar").show();
    }else{

    if(document.getElementById("RegTbxEdificioAutocompletado") != null){
        document.getElementById("RegTbxEdificioAutocompletado").value = NombreEdificio;
        document.getElementById("RegTbxEdificioAutocompletado").name = edif;
        $("#RegTbxEdificioAutocompletado").attr('disabled', 'disabled').css({
            "color": "red",
            "border-style": "solid"
        });
    }

    if(document.getElementById("BscTbxEdificioAutocompletado") != null){
        document.getElementById("BscTbxEdificioAutocompletado").value = NombreEdificio;
        document.getElementById("BscTbxEdificioAutocompletado").name = edif;
        $("#BscTbxEdificioAutocompletado").attr('disabled', 'disabled').css({
            "color": "red",
            "border-style": "solid"
        });
    }

    $("#RegBtnBuscarEdificio").hide();
    }
    //if (sessionStorage.getItem("categoria") == "Administrador del edificio"){
    if (cargoCP == 3){
        //alert("administrador edificio");
        $("#Buscar").show();
        $("#Eliminar").show();
        $("#Modificar").show();
        $("#Registrar").show();
    }
    //if (sessionStorage.getItem("categoria") == "gerente de servicios"){
    if (cargoCP == 11){
        //alert("gerente de servicios");
        $("#Buscar").show();
        $("#Eliminar").show();
        $("#Modificar").show();
        $("#Registrar").show();
    }

}

function setearEdificio(edificio) {
    var enviar = {IdEdificio: edificio};
    var jsonData = JSON.stringify(enviar);
    $.ajax({
        async: false,
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "setearEdificio",
        success: function(data){
            var lista = data.llegadaSeteo[0];
            NombreEdificio = lista.Nombre;
            //alert(NombreEdificio);
        }
    });
}

//refrescar registrarCP modal edificio
function refrescar() {

    document.getElementById("RvmTbxNombreEdificio").value = "";
    document.getElementById("RvmSctDireccion").value = "";

    $("input:radio[name='RvmRbnContometro']")[0].checked = false;
    $("input:radio[name='RvmRbnContometro']")[1].checked = false;

    $("input:radio[name='RvmRbnProrrateo']")[0].checked = false;
    $("input:radio[name='RvmRbnProrrateo']")[1].checked = false;

    jQuery("#RvmSctDepartamento option").each(function () {
        jQuery(this).attr("selected", "selected");
        if (jQuery(this).val() == "") {
            jQuery(this).attr("selected", "selected");
            return false;
        }
    });

    jQuery("#RvmSctProvincia option").each(function () {
        jQuery(this).attr("selected", "selected");
        if (jQuery(this).val() == "") {
            jQuery(this).attr("selected", "selected");
            return false;
        }
    });

    jQuery("#RvmSctDistrito option").each(function () {
        jQuery(this).attr("selected", "selected");
        if (jQuery(this).val() == "") {
            jQuery(this).attr("selected", "selected");
            return false;
        }
    });
}

//refrescar proveedor
function refrescarProv() {

    document.getElementById("RvmTbxRazonSocialProv").value = "";

    jQuery("#RvmSctDepartamentoProv option").each(function () {
        jQuery(this).attr("selected", "selected");
        if (jQuery(this).val() == "") {
            jQuery(this).attr("selected", "selected");
            return false;
        }
    });

    jQuery("#RvmSctProvinciaProv option").each(function () {
        jQuery(this).attr("selected", "selected");
        if (jQuery(this).val() == "") {
            jQuery(this).attr("selected", "selected");
            return false;
        }
    });

    jQuery("#RvmSctDistritoProv option").each(function () {
        jQuery(this).attr("selected", "selected");
        if (jQuery(this).val() == "") {
            jQuery(this).attr("selected", "selected");
            return false;
        }
    });
}

//refrescar mantenible
function refrescarMant() {

    $("input:radio[name='RvmRbnTipoMant']")[0].checked = false;
    $("input:radio[name='RvmRbnTipoMant']")[1].checked = false;

    jQuery("#RvmSctAreaComun option").each(function () {
        jQuery(this).attr("selected", "selected");
        if (jQuery(this).val() == "") {
            jQuery(this).attr("selected", "selected");
            return false;
        }
    });
}

// cargar departamentos prov
function cargarDepartamentosProv() {
    var enviar = {
            IdEdificio: $("#RegTbxEdificioAutocompletado").attr("name")
        }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarDepartamentosProv",
        success: function (data) {

            var lista = data.listaDepartamentoProv;

            $("#RvmSctDepartamentoProv").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#RvmSctDepartamentoProv").append("<option value = \"" + item.IdDepartamento + "\">" + item.Nombre + "</option>");
            });
        }
    });
}

// cargar departamentos
function cargarDepartamentos() {
    var enviar = {
        EdificioAutocompletado: "",
        IdDepartamento: ""
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarDepartamentos",
        success: function (data) {

            var lista = data.listaDepartamentoPeru;

            $("#RvmSctDepartamento").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#RvmSctDepartamento").append("<option value = \"" + item.IdDepartamento + "\">" + item.Nombre + "</option>");
            });
        }
    });
}

//cargar provincias
function cargarProvincias() {

    var enviar = {
        Nombre: "",
        IdDepartamento: $("#RvmSctDepartamento").val(),
        IdProvincia: ""
    }

    var jsonData;

    jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarProvincias",
        success: function (data) {
            var lista = data.listaProvinciaPeru;
            $("#RvmSctProvincia").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#RvmSctProvincia").append("<option value = \"" + item.IdProvincia + "\">" + item.Nombre + "</option>");
            });
        }
    });
}

//cargar provincias proveedor
function cargarProvinciasProv() {

    var enviar = {
        Nombre: "",
        IdDepartamento: $("#RvmSctDepartamentoProv").val(),
        IdEdificio: $("#RegTbxEdificioAutocompletado").attr("name"),
        IdProvincia: ""
    }
    var jsonData;

    jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarProvinciasProv",
        success: function (data) {
            var lista = data.listaProvinciaPeru;

            $("#RvmSctProvinciaProv").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#RvmSctProvinciaProv").append("<option value = \"" + item.IdProvincia + "\">" + item.Nombre + "</option>");
            });
        }
    });
}

// cargar distritos
function cargarDistritos() {

    var enviar = {
        Nombre: "",
        IdProvincia: $("#RvmSctProvincia").val(),
        IdDistrito: ""
    }
    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarDistritos",
        success: function (data) {
            var lista = data.listaDistritoPeru;

            $("#RvmSctDistrito").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#RvmSctDistrito").append("<option value = \"" + item.IdDistrito + "\">" + item.Nombre + "</option>");
            });


        }
    });
}

// cargar distritos proveedor
function cargarDistritosProv() {

    var enviar = {
        Nombre: "",
        IdProvincia: $("#RvmSctProvinciaProv").val(),
        IdDistrito: ""
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarDistritos",
        success: function (data) {
            var lista = data.listaDistritoPeru;

            $("#RvmSctDistritoProv").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#RvmSctDistritoProv").append("<option value = \"" + item.IdDistrito + "\">" + item.Nombre + "</option>");
            });


        }
    });
}

// Buscar mantenibles boton busqueda
function formatoBuscar(buscar) {
    //alert(buscar);
    $("#" + buscar).button({
        icons: {
            primary: "ui-icon-search"
        },
        text: false
    });
}


//BUSQUEDA MANTENIBLES
function buscarMantenibles(idBuscar) {
    var nameB = "",
        emailB = "",
        passwordB = "",
        allFields = $([]).add(nameB).add(emailB).add(passwordB),
        tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }



    $("#modalBuscarMant").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var bValid = true;
                allFields.removeClass("ui-state-error");
                if (bValid) {
                    if ($("input:radio[name='RMant']").is(":checked")) {
                        var idMantenible, nombreMantenible, tipoMantenible, areaComun;
                        $("input:radio[name='RMant']:checked").parents("tr").children("td").each(function (index2) {
                            switch (index2) {
                                case 1:
                                    idMantenible = $(this).text();
                                    break;
                                case 2:
                                    nombreMantenible = $(this).text();
                                    break;
                                case 4:
                                    tipoMantenible = $(this).text();
                                    break;
                                case 5:
                                    areaComun = $(this).text();
                                    break;
                            }
                        })
                        //alert(idMantenible + ' - ' + nombreMantenible + ' - ' + tipoMantenible + ' - ' + areaComun);
                        //alert("idMantenible" + idBuscar);
                        var numero = document.getElementById("RvmLblNumBuscar").innerHTML;
                        if (existeMantenible(idMantenible)) alert("Ya se escogio este mantenible");
                        else {
                            document.getElementById("idMantenible" + numero).innerHTML = idMantenible;
                            document.getElementById("NombreMantenible" + numero).innerHTML = nombreMantenible;
                            document.getElementById("TipoMantenible" + numero).innerHTML = tipoMantenible;
                            document.getElementById("AreaComun" + numero).innerHTML = areaComun;
                            $(this).dialog("close");
                        }
                    }
                    else {
                        alert("Debe seleccionar una fila");
                    }
                }
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#BtnBscModalMant" + idBuscar).click(function () {
        if ($("#RegTbxEdificioAutocompletado").val() != "") {
            document.getElementById("RvmLblNumBuscar").innerHTML = idBuscar;
            document.getElementById("RvmTbxEdificioMantenible").value = $("#RegTbxEdificioAutocompletado").val();
            document.getElementById("RvmTbxEdificioMantenible").name = $("#RegTbxEdificioAutocompletado").attr("name");
            selectAreaComun($("#RegTbxEdificioAutocompletado").attr("name"));
            //alert(idBuscar);
            $("#modalBuscarMant").dialog("open");
        }
        else alert('Debe ingresar un edificio');
    });

};


function existeMantenible(codMant) {
    var numCP = $('.idMantenible').length;
    for (var i = 1; i <= numCP; i++) {
        if (document.getElementById("idMantenible" + i) != null)
            if (document.getElementById("idMantenible" + i).innerHTML === codMant) return true; 
    }
    return false;
}

//select mantenible
function selectAreaComun(idEdificio) {
    var enviar = {
        IdEdificio: idEdificio
    }
    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarSelectAreaComun",
        success: function (data) {
            var lista = data.listaAreaComun;
            $("#RvmSctAreaComun").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#RvmSctAreaComun").append("<option value = \"" + item.IdAreaComun + "\">" + item.NombreArea + "</option>");
            });
        }
    });
}

// Buscar Mantenible - registrarCP
function buscarMantenible() {
    
    var enviar = {
        IdEdificio: $("#RvmTbxEdificioMantenible").attr("name"),
        TipoMantenible: $("input[name='RvmRbnTipoMant']:checked").val(),
        IdAreaComun: $("#RvmSctAreaComun").val()
    }

    //alert(enviar.IdEdificio + ' --- ' + enviar.TipoMantenible + ' ---- ' +  enviar.IdAreaComun);
    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarMantenible",
        beforeSend: esperarListaMantenible(),
        success: llegadaListaMantenible
    });
}

function esperarListaMantenible() {
    box3 = new ajaxLoader($(".box-3"), {classOveride: 'blue-loader', bgColor: '#000'});
}
function llegadaListaMantenible(data) {
    var lista = data.listaMantenible;
    //alert(lista.IdMantenible);
    var escritor = "";
    if (lista != null) {
        escritor += '<table id="tablaMantenible"><thead><tr><th></th>' +
                                       '<th>Cod. Mantenible</th>' +
                                       '<th>Nombre</th>' +
                                       '<th style="display:none">idEdificio</th>' +
                                       '<th>Tipo Mantenible</th>' +
                                       '<th>Area Comun</th>' +
                                       '</tr></thead>';

        escritor += "<tbody id='cuerpoMantenible'>"

        $.each(lista, function (i, item) {

            escritor += "<tr>";

            escritor += '<td>' + "<input id=" + "\"RadioButton1\" " + "name=" + "\"RMant\" " + "type=" + "\"radio\" " + "value=" + "\"1\"" + "/>" + '</td>';

            escritor += '<td>' + item.IdMantenible + '</td>';
            escritor += '<td>' + item.Nombre + '</td>';
            escritor += '<td style="display:none">' + item.IdEdificio + '</td>';
            escritor += '<td>' + item.TipoMantenible + '</td>';
            escritor += '<td>' + item.NombreArea + '</td>';
            escritor += "</tr>";
        });

        escritor += "</tbody>";

        escritor += "</table>";

        $("#tablaDinamicaMantenible").html(escritor);

        if (lista != null) {
            $("#holderMantenible").jPages({
                containerID: "cuerpoMantenible",
                perPage: 10,
                delay: 20,
                startPage: 1,
                midRange: 3,
                animation: "flipInY"
            });
            $("#holderMantenible").show();
        }
    }
    else {
        escritor += "<p>No se encontró ninguna coincidencia</p>";
        $("#tablaDinamicaMantenible").html(escritor);
        $("#holderMantenible").hide();
    }
    box3.remove();
}

function menuContratoPreventivo() {
    window.history.back();
}

function agregarMant() {
    var numCP = $('.idMantenible').length;
    var nuevo = new Number(numCP + 1);

    if (numCP == 1) paginacion('bodyTablaMant', 1);

    $("#tablaMant tbody").append('<tr id="Fila' + nuevo + '">' +
                                    '<td class="idMantenible" id="idMantenible' + nuevo + '"></td>' +
                                    '<td class="NombreMantenible" id="NombreMantenible' + nuevo + '"></td>' +
                                    '<td class="TipoMantenible" id="TipoMantenible' + nuevo + '"></td>' +
                                    '<td class="AreaComun" id="AreaComun' + nuevo + '"></td>' +
                                    '<td class="style1" style="width:30px;" align="center"><button class="Buscar" id="BtnBscModalMant' + nuevo + '" style="margin-left:auto; margin-right:auto;">Mantenible</button></td>' +
                                "</tr>");

    formatoBuscar("BtnBscModalMant" + nuevo);
    buscarMantenibles(nuevo);

    $("#holder1").jPages("destroy");

    $('#DelMantenible').attr('disabled', false);
}

function eliminarMant() {
    var numElim = $('.idMantenible').length; // how many "duplicatable" input fields we currently have
    $('#Fila' + numElim).remove();

    if (numElim - 1 == 1)
        $('#DelMantenible').attr('disabled', 'disabled');
    $("#holder1").jPages("destroy");
}

function paginacion(bodyTabla, pagina) {
    $("#holder1").jPages({//id del holder al igual que el navPosicion del chato
        containerID: bodyTabla, //id del tbody de la tabla
        perPage: 10,
        delay: 20,
        midRange: 3,
        startPage: pagina,
        animation: "flipInY"
    });
};

//Buscar Edificios Modal
$(function () {
    var nameB = "",
        emailB = "",
        passwordB = "",
        allFields = $([]).add(nameB).add(emailB).add(passwordB),
        tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }

    $("#edificioModal").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var bValid = true;
                allFields.removeClass("ui-state-error");
                if (bValid) {
                    if ($("input:radio[name='R1']").is(":checked")) {
                        var nombreEdificio, idDistrito, Direccion, telefono, idBanco, numCuenta, contometro, prorrateo, ganancia, pagoInmob, cajaChica, idEdificio, numPisos, numSotanos, idDept, idProv;
                        $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                            switch (index2) {
                                case 1:
                                    nombreEdificio = $(this).text();
                                    break;
                                case 2:
                                    idDistrito = $(this).text();
                                    break;
                                case 3:
                                    Direccion = $(this).text();
                                    break;
                                case 4:
                                    telefono = $(this).text();
                                    break;
                                case 5:
                                    idBanco = $(this).text();
                                    break;
                                case 6:
                                    numCuenta = $(this).text();
                                    break;
                                case 7:
                                    contometro = $(this).text();
                                    break;
                                case 8:
                                    prorrateo = $(this).text();
                                    break;
                                case 9:
                                    ganancia = $(this).text();
                                    break;
                                case 10:
                                    pagoInmob = $(this).text();
                                    break;
                                case 11:
                                    cajaChica = $(this).text();
                                    break;
                                case 12:
                                    idEdificio = $(this).text();
                                    break;
                                case 13:
                                    numPisos = $(this).text();
                                    break;
                                case 14:
                                    numSotanos = $(this).text();
                                    break;
                                case 15:
                                    idDept = $(this).text();
                                    break;
                                case 16:
                                    idProv = $(this).text();
                                    break;
                            }
                        })

                        //alert(idMantenible);
                        document.getElementById("RegTbxProveedorAutocompletado").value = "";
                        document.getElementById("RegTbxProveedorAutocompletado").name = "";
                        document.getElementById("RegTbxEdificioAutocompletado").value = nombreEdificio;
                        document.getElementById("RegTbxEdificioAutocompletado").name = idEdificio;
                        $(this).dialog("close");
                        $('#tablaEdificio').remove();
                        $("#holderEdificio").hide();
                        refrescar();
                    }
                }
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#RegBtnBuscarEdificio").click(function () { $("#edificioModal").dialog("open"); });

});

// Buscar edificio - registrarCP
function buscarEdificio() {

    var enviar = {
        Nombre: $("#RvmTbxNombreEdificio").attr("value"),
        IdDistrito: $("#RvmSctDistrito").val(),
        IdProvincia: $("#RvmSctProvincia").val(),
        IdDepartamento: $("#RvmSctDepartamento").val(),
        Direccion: $("#RvmSctDireccion").attr("value"),
        //Telefono: $("#Telefono").attr("value"),
        Telefono: "",
        Contometro: $("input[name='RvmRbnContometro']:checked").val(),
        TipoProrrateo: $("input[name='RvmRbnProrrateo']:checked").val(),
        //        IdBanco: $("#Banco").val(),
        IdBanco: "",
        //Cuenta: $("#Cuenta").attr("value")
        Cuenta:""
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarEdificio",
        beforeSend: esperarListaEdificio(),
        success: llegadaListaEdificio
    });
}

function esperarListaEdificio() {
    box3 = new ajaxLoader($(".box-3"), {classOveride: 'blue-loader', bgColor: '#000'});
}
function llegadaListaEdificio(data) {

//    console.log(data);
    var lista = data.listaEdificio;
    var escritor = "";

    if (lista != null) {
        escritor += '<table id="tablaEdificio"><thead><tr><th></th>' +
                                       '<th>Nombre</th>' +
                                       '<th style="display:none">IdDistrito</th>' +
                                       '<th>Dirección</th>' +
                                       '<th style="display:none">Teléfono</th>' +
                                       '<th style="display:none">IdBanco</th>' +
                                       '<th style="display:none">Número de Cuenta</th>' +
                                       '<th>Contómetro</th>' +
                                       '<th>Prorrateo</th>' +
                                       '<th style="display:none">Ganancia</th>' +
                                       '<th style="display:none">PagoInmobiliaria</th>' +
                                       '<th style="display:none">CajaChica</th>' +
                                       '<th style="display:none">IdEdificio</th>' +
                                       '<th style="display:none">NumPisos</th>' +
                                       '<th style="display:none">NumSotanos</th>' +
                                       '<th style="display:none">IdDepartamento</th>' +
                                       '<th style="display:none">IdProvincia</th>' +
                                       '</tr></thead>';

        escritor += "<tbody id='cuerpoEdificios'>"

        $.each(lista, function (i, item) {

            escritor += "<tr>";

            escritor += '<td>' + "<input id=" + "\"RadioButton1\" " + "name=" + "\"R1\" " + "type=" + "\"radio\" " + "value=" + "\"1\"" + "/>" + '</td>';

            escritor += '<td>' + item.Nombre + '</td>';
            escritor += '<td style="display:none">' + item.IdDistrito + '</td>';
            escritor += '<td>' + item.Direccion + '</td>';
            escritor += '<td style="display:none">' + item.Telefono + '</td>';
            escritor += '<td style=\"display:none\">' + item.IdBanco + '</td>';
            escritor += '<td style="display:none"> ' + item.Cuenta + '</td>';
            if (item.Contometro === 1) {
                escritor += '<td>' + "Si" + '</td>';
            }
            else {
                escritor += '<td>' + "No" + '</td>';
            }
            escritor += '<td>' + item.TipoProrrateo + '</td>';
            escritor += '<td style=\"display:none\">' + item.Ganancia + '</td>';
            escritor += '<td style=\"display:none\">' + item.PagoInmobiliaria + '</td>';
            escritor += '<td style=\"display:none\">' + item.CajaChica + '</td>';
            escritor += '<td style=\"display:none\">' + item.IdEdificio + '</td>';
            escritor += '<td style=\"display:none\">' + item.NumPisos + '</td>';
            escritor += '<td style=\"display:none\">' + item.NumSotanos + '</td>';
            escritor += '<td style=\"display:none\">' + item.IdDepartamento + '</td>';
            escritor += '<td style=\"display:none\">' + item.IdProvincia + '</td>';
            escritor += "</tr>";
        });

        escritor += "</tbody>";

        escritor += "</table>";

        $("#tablaDinamicaEdificio").html(escritor);

        if (lista != null) {
            $("#holderEdificio").jPages({
                containerID: "cuerpoEdificios",
                perPage: 10,
                delay: 20,
                startPage: 1,
                midRange: 3,
                animation: "flipInY"
            });
            $("#holderEdificio").show();
        }
    }
    else {
        escritor += "<p>No se encontró ninguna coincidencia</p>";
        $("#tablaDinamicaEdificio").html(escritor);
        $("#holderEdificio").hide();
    }
    box3.remove();
}

//Buscar Proveedor modal
function ProvModal() {
    var nameB = "",
        emailB = "",
        passwordB = "",
        allFields = $([]).add(nameB).add(emailB).add(passwordB),
        tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }   

    $("#proveedorModal").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var bValid = true;
                allFields.removeClass("ui-state-error");
                if (bValid) {
                    if ($("input:radio[name='RProv']").is(":checked")) {
                        var id_Proveedor, RazonSocial, Direccion, nombre_departamento, telefono, id_Distrito, Contacto, TelefonoContacto, Observaciones, Correo, CargoContacto, Web, estado, RUC, id_provincia, id_departamento;
                        $("input:radio[name='RProv']:checked").parents("tr").children("td").each(function (index2) {
                            switch (index2) {
                                case 1:
                                    id_Proveedor = $(this).text();
                                    break;
                                case 2:
                                    RazonSocial = $(this).text();
                                    break;
                                case 3:
                                    Direccion = $(this).text();
                                    break;
                                case 4:
                                    nombre_departamento = $(this).text();
                                    break;
                                case 5:
                                    telefono = $(this).text();
                                    break;
                                case 6:
                                    id_Distrito = $(this).text();
                                    break;
                                case 7:
                                    Contacto = $(this).text();
                                    break;
                                case 8:
                                    TelefonoContacto = $(this).text();
                                    break;
                                case 9:
                                    Observaciones = $(this).text();
                                    break;
                                case 10:
                                    Correo = $(this).text();
                                    break;
                                case 11:
                                    CargoContacto = $(this).text();
                                    break;
                                case 12:
                                    Web = $(this).text();
                                    break;
                                case 13:
                                    estado = $(this).text();
                                    break;
                                case 14:
                                    RUC = $(this).text();
                                    break;
                                case 15:
                                    id_provincia = $(this).text();
                                    break;
                                case 16:
                                    id_departamento = $(this).text();
                                    break;
                            }
                        })

                        //alert(idMantenible);
                        document.getElementById("RegTbxProveedorAutocompletado").value = RazonSocial;
                        document.getElementById("RegTbxProveedorAutocompletado").name = id_Proveedor;
                        $(this).dialog("close");
                        $('#tablaProveedor').remove();
                        $("#holderProveedor").hide();
                        refrescarProv();
                    }
                }
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

//    $("#RegBtnBuscarProveedor").click(function (){ $("#proveedorModal").dialog("open"); });

    $("#RegBtnBuscarProveedor").click(function ProvModal() {
        if ($("#RegTbxEdificioAutocompletado").val() != "") {
            cargarDepartamentosProv();
            $("#proveedorModal").dialog("open");
        }
        else alert("Debe ingresar un edificio");
    });
};

//buscar proveedor - registrar CP
function buscarProveedor() {

    var enviar = {
        RazonSocial: $("#RvmTbxRazonSocialProv").attr("value"),
        IdDepartamento: $("#RvmSctDepartamentoProv").val(),
        IdProvincia: $("#RvmSctProvinciaProv").val(),
        IdDistrito: $("#RvmSctDistritoProv").attr("value"),
        IdEdificio: $("#RegTbxEdificioAutocompletado").attr("name")
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        async: false,
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarProveedorContrato",
        beforeSend: esperarListaProv(),
        success: llegadaListaProv
    });
}

function esperarListaProv() {
    box3 = new ajaxLoader($(".box-3"), {classOveride: 'blue-loader', bgColor: '#000'});
}

function llegadaListaProv(data) {
    var lista = data.listaProveedor;
    var escritor = "";
    if (lista != null) {
        escritor += '<table id="tablaProveedor">' +
                        '<thead>' +
                            '<tr>' +
                                '<th></th>' +
                                '<th style="display:none">id_Proveedor</th>' +
                                '<th>Razon Social</th>' +
                                '<th>Direccion</th>' +
                                '<th>Departamento</th>' +
                                '<th>Provincia</th>' +
                                '<th>Distrito</th>' +
                                '<th style="display:none">Telefono</th>' +
                                '<th style="display:none">IdDistrito</th>' +
                                '<th style="display:none">Contacto</th>' +
                                '<th style="display:none">Telefono Contacto</th>' +
                                '<th style="display:none">Observaciones</th>' +
                                '<th style="display:none">Correo</th>' +
                                '<th style="display:none">Cargo Contacto</th>' +
                                '<th style="display:none">Web</th>' +
                                '<th style="display:none">estado</th>' +
                                '<th style="display:none">RUC</th>' +
                                '<th style="display:none">IdProvincia</th>' +
                                '<th style="display:none">IdDepartamento</th>' +
                            '</tr>' +
                        '</thead>';

        escritor += "<tbody id='cuerpoProveedor'>"
        $.each(lista, function (i, item) {
            escritor += "<tr>";
            escritor += '<td><input id="RadioButtonProv" name="RProv" type="radio" value="1"/></td>';
            escritor += '<td style="display:none">' + item.IdProveedor + '</td>';
            escritor += '<td>' + item.RazonSocial + '</td>';
            escritor += '<td>' + item.Direccion + '</td>';
            escritor += '<td>' + item.NombreDepartamento + '</td>';
            escritor += '<td>' + item.NombreProvincia + '</td>';
            escritor += '<td>' + item.NombreDistrito + '</td>';
            escritor += '<td style="display:none">' + item.Telefono + '</td>';
            escritor += '<td style="display:none">' + item.IdDistrito + '</td>';
            escritor += '<td style="display:none"> ' + item.Contacto + '</td>';
            escritor += '<td style="display:none">' + item.TelefonoContacto + '</td>';
            escritor += '<td style=\"display:none\">' + item.Observaciones + '</td>';
            escritor += '<td style="display:none">' + item.Correo + '</td>';
            escritor += '<td style="display:none">' + item.CargoContacto + '</td>';
            escritor += '<td style="display:none">' + item.PaginaWeb + '</td>';
            escritor += '<td style="display:none">' + item.Estado + '</td>';
            escritor += '<td style="display:none">' + item.RUC + '</td>';
            escritor += '<td style="display:none">' + item.IdProvincia + '</td>';
            escritor += '<td style="display:none">' + item.IdDepartamento + '</td>';
            escritor += "</tr>";
        });

        escritor += "</tbody>";

        escritor += "</table>";

        $("#tablaDinamicaProveedor").html(escritor);

        if (lista != null) {
            $("#holderProveedor").jPages({
                containerID: "cuerpoProveedor",
                perPage: 10,
                delay: 20,
                startPage: 1,
                midRange: 3,
                animation: "flipInY"
            });
            $("#holderProveedor").show();
        }

    }
    else {
        escritor += "<p>No se encontró ninguna coincidencia</p>";
        $("#tablaDinamicaProveedor").html(escritor);
        $("#holderProveedor").hide();
    }
    box3.remove();
}

//registrar contrato preventivo
function registrarContratoPreventivo() {
    var numCP = $('.idMantenible').length;
    var enviarRegistroContratoPreventivo = {
        IdEdificio: $("#RegTbxEdificioAutocompletado").attr("name"),
        IdProveedor: $("#RegTbxProveedorAutocompletado").attr("name"),
        FechaRegistro: $("#RegTbxFechaRegistro").attr("value"),
        FechaInicial: $("#RegTbxFechaInicial").attr("value"),
        FechaFinal: $("#RegTbxFechaFinal").attr("value"),
        periodo: $("#RegSctPeriodo").attr("value"),
        Descripcion: $("#RegTbxDescripcion").attr("value"),
        IdMantenible: "",
        IdContratoPreventivo: "",
        Opcion: 0
    }
    //alert(enviarRegistroContratoPreventivo.Descripcion);
    fv = new formValidator();
    borrarErrores();

    if (fv.isEmpty(document.getElementById("RegTbxEdificioAutocompletado").value)) {
        fv.raiseError("Por favor ingrese un CODIGO DE CONTRATO");
    }

    if (fv.isEmpty(document.getElementById("RegTbxProveedorAutocompletado").value)) {
        fv.raiseError("Por favor ingrese un CODIGO DE CONTRATO");
    }

    //validar tabla
    if (validarTabla() === false) {
        fv.raiseError("Por favor ingrese un datos en la tabla");
        alert("Por favor ingrese datos en la tabla");
        //document.getElementById("errorTabla").innerHTML = "ingrese datos en la tabla";
    }

    if (fv.isEmpty(document.getElementById("RegTbxFechaRegistro").value)) {
        fv.raiseError("Por favor ingrese la FECHA");
        document.getElementById("RegLblErrorFechaRegistro").innerHTML = "";
    }else{
        var f = new Date();
        var fr = fi= $("#RegTbxFechaRegistro").datepicker("getDate");
        if(fr > f){
            fv.raiseError("Por favor ingrese la FECHA");
            document.getElementById("RegLblErrorFechaRegistro").innerHTML = "mayor a la fecha actual";
        }
    }

    if (fv.isEmpty(document.getElementById("RegTbxFechaInicial").value)) {
        fv.raiseError("Por favor ingrese la FECHA");
        document.getElementById("RegLblErrorFechaInicial").innerHTML = "";
    }else{
        var fr = $("#RegTbxFechaRegistro").datepicker("getDate");
        var fi= $("#RegTbxFechaInicial").datepicker("getDate");
//        alert(fr);
//        alert(fi);
        if(fi < fr){
            fv.raiseError("Por favor ingrese la FECHA");
            document.getElementById("RegLblErrorFechaInicial").innerHTML = "menor a la fecha anterior";
        }
    }

    if (fv.isEmpty(document.getElementById("RegTbxFechaFinal").value)) {
        fv.raiseError("Por favor ingrese la FECHA");
        document.getElementById("RegLblErrorFechaFinal").innerHTML = "";
    }else{
        var fi = $("#RegTbxFechaInicial").datepicker("getDate");
        var ff= $("#RegTbxFechaFinal").datepicker("getDate");
        if(ff < fi){
            fv.raiseError("Por favor ingrese la FECHA");
            document.getElementById("RegLblErrorFechaFinal").innerHTML = "menor a la fecha anterior";
        }
    }

    if (fv.isEmpty(document.getElementById("RegSctPeriodo").value)){
        fv.raiseError("Por favor ingrese el PERIODO");
        document.getElementById("RegSctErrorPeriodo").innerHTML = "";
    }else{
        var fechaI = $("#RegTbxFechaInicial").val();
        var fechaF = $("#RegTbxFechaFinal").val();
        
//        alert(fechaI);
//        alert(fechaF);
        
        var aF1 = fechaI.split("/");
        var aF2 = fechaF.split("/");
        var numMeses = aF2[2] * 12 + aF2[1]*1 - aF1[2] * 12 - aF1[1]*1;
        if (aF2[0]<aF1[0]){
            numMeses = numMeses - 1;
        }
        //var dif = (fechaF - fechaI)/(1000*60*60*24);
        
        switch (document.getElementById("RegSctPeriodo").value){
            case "Mensual":
                if (numMeses < 1){  
                    fv.raiseError("");
                    document.getElementById("RegSctErrorPeriodo").innerHTML = "fechas invalidas";}
                break;
            case "Bimestral":
                if (numMeses % 2 != 0 ){ 
                    fv.raiseError("");
                    document.getElementById("RegSctErrorPeriodo").innerHTML = "fechas invalidas";}
                break;
            case "Trimestral":
                if (numMeses % 3 != 0 ){ 
                    fv.raiseError("");
                    document.getElementById("RegSctErrorPeriodo").innerHTML = "fechas invalidas";}
                break;
            case "Cuatrimestral":
                if (numMeses % 4 != 0){ 
                    fv.raiseError("");
                    document.getElementById("RegSctErrorPeriodo").innerHTML = "fechas invalidas";}
                break;
            case "Semestral":
                if (numMeses % 6 != 0){ 
                    fv.raiseError("");
                    document.getElementById("RegSctErrorPeriodo").innerHTML = "fechas invalidas";}
                break;
            case "Anual":
                if (numMeses % 12 != 0){ 
                    fv.raiseError("");
                    document.getElementById("RegSctErrorPeriodo").innerHTML = "fechas invalidas";}
                break;
        }
    }

    if (fv.numErrors() < 1) {
//        console.log(enviarRegistroContratoPreventivo);
        for (var i = 0; i <= numCP; ++i) {
            //setTimeout(function(){},1000000000);
            //-----------------------alert('Agregando');
            //document.getElementById("RegLblIteracion").innerHTML = i;
            if (i == 0) {
                //registrar el contrato preventivo, se manejara en el DAO
                enviarRegistroContratoPreventivo.IdMantenible = i;
                //alert('IDMANT' + enviarRegistroContratoPreventivo.IdMantenible);//--------------------
                registrarCP(enviarRegistroContratoPreventivo);
                enviarRegistroContratoPreventivo.IdContratoPreventivo = 0;
                //alert('Se agrego correctamento el contrato');------------
                continue;
                //sleep
                //for (var j = 0; j < 100000000; j++);
            } else {//registrar contrato_preventivo_x_mantenible
                //if (document.getElementById("idMantenible" + i) != null || document.getElementById("idMantenible" + i).innerHTML != ""){
                if (document.getElementById("idMantenible" + i).innerHTML != "") {
                    enviarRegistroContratoPreventivo.IdContratoPreventivo = ultimo_id;
                    //alert('aquiiiiii: ' + ultimo_id);
                    enviarRegistroContratoPreventivo.IdMantenible = document.getElementById("idMantenible" + i).innerHTML;
                    //alert(enviarRegistroContratoPreventivo.IdMantenible + ' ---- ' + enviarRegistroContratoPreventivo.IdContratoPreventivo);
                    registrarCP(enviarRegistroContratoPreventivo);
                    //alert('Se agrego correctamento el contrato_x_mantenible');
                    continue;
                }
                continue;
            }
        }
        box3.remove();
        window.history.back();
        return true;
    }
    else {
        //fv.displayErrors();
        return false;
    }

//    for (var i = 0; i <= numCP; i++) {
//        if (i == 0) {
//            //registrar el contrato preventivo, se manejara en el DAO
//            enviarRegistroContratoPreventivo.IdMantenible = i;
//            alert(enviarRegistroContratoPreventivo.IdMantenible);
//            registrarCP(enviarRegistroContratoPreventivo);
//            enviarRegistroContratoPreventivo.IdContratoPreventivo = ultimo_id;
//        } else {//registrar contrato_preventivo_x_mantenible
//            //if (document.getElementById("idMantenible" + i) != null || document.getElementById("idMantenible" + i).innerHTML != ""){
//            if (document.getElementById("idMantenible" + i).innerHTML != ""){
//               enviarRegistroContratoPreventivo.IdMantenible = document.getElementById("idMantenible" + i).innerHTML;
//               alert(enviarRegistroContratoPreventivo.IdMantenible + ' ---- ' + enviarRegistroContratoPreventivo.IdContratoPreventivo);
//               registrarCP(enviarRegistroContratoPreventivo);
//            }
//        }
//    }
}

//validar tabla
function validarTabla(){
    var numEncontrados = 0;
    var tamTabla = $('.idMantenible').length;
    for (var i=1; i <= tamTabla; i++){
        if (document.getElementById("idMantenible" + i).innerHTML != "")
            numEncontrados++;
    }
    //alert('Encontrados: ' + numEncontrados);
    if (numEncontrados > 0) return true;
    else return false;
}

// borrar errores
function borrarErrores() {
    document.getElementById("RegLblErrorFechaRegistro").innerHTML = "";
    document.getElementById("RegLblErrorFechaInicial").innerHTML = "";
    document.getElementById("RegLblErrorFechaFinal").innerHTML = "";
    document.getElementById("RegSctErrorPeriodo").innerHTML = "";
}

function borrarErroresModificar() {
    document.getElementById("BvmLblErrorFecha").innerHTML = "";
    document.getElementById("BvmLblErrorFechaInicio").innerHTML = "";
    document.getElementById("BvmLblErrorFechaFin").innerHTML = "";
    document.getElementById("BvmLblErrorPeriodo").innerHTML = "";
}

function registrarCP(enviarRegistroContratoPreventivo) {
//    var enviarRegistroContratoPreventivo = {
//            IdEdificio: $("#RegTbxEdificioAutocompletado").attr("name"),
//            IdProveedor: $("#RegTbxProveedorAutocompletado").attr("name"),
//            FechaRegistro: $("#RegTbxFechaRegistro").attr("value"),
//            FechaInicial: $("#RegTbxFechaInicial").attr("value"),
//            FechaFinal: $("#RegTbxFechaFinal").attr("value"),
//            periodo: $("#RegSctPeriodo").attr("value"),
//            Descripcion: $("#RegTbxDescripcion").attr("value")
//        }

        //alert(enviarRegistroContratoPreventivo.periodo);

//        fv = new formValidator();
//        borrarErrores();

//        if (fv.isEmpty(document.getElementById("RegTbxEdificioAutocompletado").value)){
//            fv.raiseError("Por favor ingrese un CODIGO DE CONTRATO");
//        }

//        if (fv.isEmpty(document.getElementById("RegTbxProveedorAutocompletado").value)){
//            fv.raiseError("Por favor ingrese un CODIGO DE CONTRATO");
//        }

//        //validar tabla
//        if (validarTabla() === false){
//            fv.raiseError("Por favor ingrese un datos en la tabla");
//            alert("Por favor ingrese datos en la tabla");
//            //document.getElementById("errorTabla").innerHTML = "ingrese datos en la tabla";
//        }

//        if (fv.isEmpty(document.getElementById("RegTbxFechaRegistro").value)) {
//            fv.raiseError("Por favor ingrese la FECHA");
//            document.getElementById("RegLblErrorFechaRegistro").innerHTML = "";
//        }

//        if (fv.isEmpty(document.getElementById("RegTbxFechaInicial").value)) {
//            fv.raiseError("Por favor ingrese la FECHA");
//            document.getElementById("RegLblErrorFechaInicial").innerHTML = "";
//        }

//        if (fv.isEmpty(document.getElementById("RegTbxFechaFinal").value)) {
//            fv.raiseError("Por favor ingrese la FECHA");
//            document.getElementById("RegLblErrorFechaFinal").innerHTML = "";
//        }

//        if (fv.numErrors() < 1) {
//            console.log(enviarRegistroContratoPreventivo);

            var jsonData = JSON.stringify(enviarRegistroContratoPreventivo);

            $.ajax({
                async:false,
                type: "POST",
                data: jsonData,
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                url: "registrarContratoPreventivo",
                beforeSend: esperarRegistroCP,
                success: llegadaRegistroCP
            });
            return true;
//        }
//        else {
//            //fv.displayErrors();
//            return false;
//        }
}

function esperarRegistroCP() {
    box3 = new ajaxLoader($(".box-3"), {classOveride: 'blue-loader', bgColor: '#000'});
}

function llegadaRegistroCP(data) {
    ultimo_id = data.contrato.IdContratoPreventivo;
    if (data.contrato.Conexion != "contrato_x_mantenible") {
        //alert('CONEXION: ' + data.contrato.Conexion);
    }
    //alert('ultimo_id: ' + ultimo_id);
    //if (data.contrato.Conexion == "Se ingreso correctamente el Contrato Preventivo") {
        //window.history.back();
    //}
}

//--------------------------------------------------------ELIMINAR-------------------------------------------
function eliminarContratoPreventivo() {
    if ($("input:radio[name='RCP']").is(":checked")){
        var idContrato;
        $("input:radio[name='RCP']:checked").parents("tr").children("td").each(function (index2) {
            switch (index2) {
                        case 1:
                            idContrato = $(this).text();
                            break;
                    }
        })

        var question = confirm("Desea eliminar el mantenimiento preventivo seleccionado");

        if (question != 0) {
            var enviar = {
                IdContratoPreventivo: idContrato
            }

            var jsonData = JSON.stringify(enviar);

            $.ajax({
                type: "POST",
                data: jsonData,
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                url: "eliminarContratoPreventivo",
                beforeSend: esperarEliminarContratoPreventivo(),
                success: llegadaEliminarContratoPreventivo
            });
        }
    }
    else {
        alert("Debe seleccionar una fila");
    }

}

function esperarEliminarContratoPreventivo() {
    box3 = new ajaxLoader($(".box-3"), {classOveride: 'blue-loader', bgColor: '#000'});
}

function llegadaEliminarContratoPreventivo(data) {
    if (data.Conexion == "Bien"){
        alert(data.me);
        box3.remove();
        buscarContratoPreventivo();
    } else{
        alert(data.me);
        box3.remove();
        buscarContratoPreventivo();
    }
}



//--------------------------------------------------------BUSQUEDA-------------------------------------------
function LimpiarBusquedaCP() {
    document.getElementById("BscTbxEdificioAutocompletado").value = "";
    document.getElementById("BscTbxProveedorAutocompletado").value = "";
    document.getElementById("BscTbxFechaInicio").value = "";
    document.getElementById("BscTbxFechaFin").value = "";
}


//Edificio autocompletado
$(function () {
    $("#BscTbxEdificioAutocompletado").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                data: { Nombre: $("#BscTbxEdificioAutocompletado").val() },
                dataType: "json",
                url: "cargarEdificios",
                success: function (data) {
                    response($.map(data.listaEdificio, function (item) {
                        return {
                            label: item.Nombre,
                            name: item.IdEdificio
                        }
                    }));
                }
            });
        },
        minLength: 3,
        open: function () {
            $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
        },
        close: function () {
            $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
        }
    });
});


//proveedor autocompletado
$(function () {
    $("#BscTbxProveedorAutocompletado").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                data: { NombreProveedor: $("#BscTbxProveedorAutocompletado").val() },
                dataType: "json",
                url: "cargarProveedores",
                success: function (data) {
                    response($.map(data.listaProveedores, function (item) {
                        return {
                            value: item.NombreProveedor,
                            name: item.IdProveedor
                        }
                    }));
                }
            });
        },
        minLength: 2,
        open: function () {
            $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
        },
        close: function () {
            $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
        }
    });
});


//modal modificar contrato preventivo
$(function () {
//    async: false;
    var nameB = $("#nameB"),
        emailB = $("#emailB"),
        passwordB = $("#passwordB"),
        allFields = $([]).add(nameB).add(emailB).add(passwordB),
        tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }
    $("#modalModificarCP").dialog({
//        async: false,
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var enviar = {
                    IdContratoPreventivo: $("#BvmTbxContrato").attr("value"),
                    IdEdificio: $("#BvmTbxEdificio").attr("name"),
                    IdProveedor: $("#BvmTbxProveedor").attr("name"),
                    FechaRegistro: $("#BvmTbxFecha").attr("value"),
                    FechaInicial: $("#BvmTbxFechaInicio").attr("value"),
                    FechaFinal: $("#BvmTbxFechaFin").attr("value"),
                    Periodo: $("#BvmSctPeriodo").attr("value"),
                    Descripcion: $("#BvmTbxDescripcion").attr("value")
                }

                fv = new formValidator();

                borrarErroresModificar()

                if (fv.isEmpty(document.getElementById("BvmTbxFecha").value)) {
                    fv.raiseError("");
                    document.getElementById("BvmLblErrorFecha").innerHTML = "";
                }else{
                    var f = new Date();
                    var fr = $("#BvmTbxFecha").datepicker("getDate");
                    if(fr > f){
                        fv.raiseError("Por favor ingrese la FECHA");
                        document.getElementById("BvmLblErrorFecha").innerHTML = "mayor a la fecha actual";
                    }
                }

                if (fv.isEmpty(document.getElementById("BvmTbxFechaInicio").value)) {
                    fv.raiseError("");
                }else{
                    var fr = $("#BvmTbxFecha").datepicker("getDate");
                    var fi= $("#BvmTbxFechaInicio").datepicker("getDate");
                    if(fi < fr){
                        fv.raiseError("Por favor ingrese la FECHA");
                        document.getElementById("BvmLblErrorFechaInicio").innerHTML = "menor a la fecha anterior";
                    }
                }

                if (fv.isEmpty(document.getElementById("BvmTbxFechaFin").value)) {
                    fv.raiseError("");
                    document.getElementById("BvmLblErrorFechaFin").innerHTML = "";
                }else{
                    var fi = $("#BvmTbxFechaInicio").datepicker("getDate");
                    var ff= $("#BvmTbxFechaFin").datepicker("getDate");
                    if(ff < fi){
                        fv.raiseError("Por favor ingrese la FECHA");
                        document.getElementById("BvmLblErrorFechaFin").innerHTML = "menor a la fecha anterior";
                    }
                }

                if (fv.isEmpty(document.getElementById("BvmSctPeriodo").value)) {
                    fv.raiseError("");
                    document.getElementById("BvmLblErrorPeriodo").innerHTML = "";
                }else{
                    var fechaI = $("#BvmTbxFechaInicio").val();
                    var fechaF = $("#BvmTbxFechaFin").val();
        
                    var aF1 = fechaI.split("/");
                    var aF2 = fechaF.split("/");
                    var numMeses = aF2[2] * 12 + aF2[1]*1 - aF1[2] * 12 - aF1[1]*1;
                    if (aF2[0]<aF1[0]){
                        numMeses = numMeses - 1;
                    }

                    if (numMeses == 0) fv.raiseError("");

                    //alert(numMeses);
                    switch (document.getElementById("BvmSctPeriodo").value){
                        case "Mensual":
                            if (numMeses < 1){
                                fv.raiseError("");
                                document.getElementById("BvmLblErrorPeriodo").innerHTML = "fechas invalidas";}
                            break;
                        case "Bimestral":
                            if (numMeses % 2 != 0 ){ 
                                fv.raiseError("");
                                document.getElementById("BvmLblErrorPeriodo").innerHTML = "fechas invalidas";}
                            break;
                        case "Trimestral":
                            if (numMeses % 3 != 0 ){ 
                                fv.raiseError("");
                                document.getElementById("BvmLblErrorPeriodo").innerHTML = "fechas invalidas";}
                            break;
                        case "Cuatrimestral":
                            if (numMeses % 4 != 0){
                                fv.raiseError("");
                                document.getElementById("BvmLblErrorPeriodo").innerHTML = "fechas invalidas";}
                            break;
                        case "Semestral":
                            if (numMeses % 6 != 0){ 
                                fv.raiseError("");
                                document.getElementById("BvmLblErrorPeriodo").innerHTML = "fechas invalidas";}
                            break;
                        case "Anual":
                            if (numMeses % 12 != 0){ 
                                fv.raiseError("");
                                document.getElementById("BvmLblErrorPeriodo").innerHTML = "fechas invalidas";}
                            break;
                    }
	            }
                if (fv.numErrors() < 1) {
                    var jsonData = JSON.stringify(enviar);
                    $.ajax({
                        async: false,
                        type: "POST",
                        data: jsonData,
                        dataType: "json",
                        contentType: "application/json; charset=utf-8",
                        url: "modificarContratoPreventivo",
                        beforeSend: function () {
                            box3 = new ajaxLoader($(".box-3"), {classOveride: 'blue-loader', bgColor: '#000'});
                        },
                        success: function (data) {
                            if (data.Conexion == "Bien"){
                                salida = 1;
                                alert(data.me);
                                box3.remove();
                                buscarContratoPreventivo();
                            } else {
                                alert("error");
                                box3.remove();
                            }
                        }
                    });
                    if (salir === "1") $("#modalModificarCP").dialog("close");
                    //alert(salir);
                    $(this).dialog("close");
                }
                else {
                }
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#BscBtnModificar").click(function () {
//        async: false;
        if ($("input:radio[name='RCP']").is(":checked")) {
            $("#modalModificarCP").dialog("open");
            var bValid = true;
            allFields.removeClass("ui-state-error");
            if (bValid) {
                if ($("input:radio[name='RCP']:checked")) {
                    var idContrato, nombreEdificio, idEdificio, nombreProveedor, idProveedor, fecha, periodo, descripcion, fecha_inicial, fecha_final;
                    $("input:radio[name='RCP']:checked").parents("tr").children("td").each(function (index2) {
                        switch (index2) {
                            case 1:
                                idContrato = $(this).text();
                                break;
                            case 2:
                                nombreEdificio = $(this).text();
                                break;
                            case 3:
                                idEdificio = $(this).text();
                                break;
                            case 4:
                                nombreProveedor = $(this).text();
                                break;
                            case 5:
                                idProveedor = $(this).text();
                                break;
                            case 6:
                                fecha = $(this).text();
                                break;
                            case 7:
                                periodo = $(this).text();
                                break;
                            case 8:
                                descripcion = $(this).text();
                                break;
                            case 9:
                                fecha_inicial = $(this).text();
                                break;
                            case 10:
                                fecha_final = $(this).text();
                                break;
                        }
                    })
                    //alert(idContrato + ' - ' + nombreEdificio + ' - ' + idEdificio + ' - ' + nombreProveedor + ' - ' + idProveedor + ' - ' + fecha + ' - ' + periodo + $("input:radio[name='R1']:checked").val());
                    document.getElementById("BvmTbxContrato").value = idContrato;
                    document.getElementById("BvmTbxEdificio").value = nombreEdificio;
                    document.getElementById("BvmTbxEdificio").name = idEdificio;
                    document.getElementById("BvmTbxProveedor").value = nombreProveedor;
                    document.getElementById("BvmTbxProveedor").name = idProveedor;
                    document.getElementById("BvmTbxFecha").value = fecha;
                    document.getElementById("BvmTbxFechaInicio").value = fecha_inicial;
                    document.getElementById("BvmTbxFechaFin").value = fecha_final;
                    jQuery("#BvmSctPeriodo option").each(function () {
                        jQuery(this).attr("selected", "selected");
                        if (jQuery(this).val() == periodo) {
                            jQuery(this).attr("selected", "selected");
                            return false;
                        }
                    });
                    document.getElementById("BvmTbxDescripcion").value = descripcion;
                }
            }
        }
        else {
            alert("Debe seleccionar una fila");
        }
    });

});

function esperarListaCP() {
    box3 = new ajaxLoader($(".box-3").parent(), {classOveride: 'blue-loader', bgColor: '#000'});
}

function buscarContratoPreventivo() {

    var enviar = {
        NombreEdificio: $("#BscTbxEdificioAutocompletado").val(),
        NombreProveedor: $("#BscTbxProveedorAutocompletado").val(),
        FechaInicial: $("#BscTbxFechaInicio").val(),
        FechaFinal: $("#BscTbxFechaFin").val()
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarContratoPreventivo",
        beforeSend: esperarListaCP(),
        success: llegadaListaCP
    });
}

function llegadaListaCP(data) {
//    console.log(data);
    var lista = data.ListaContratoPreventivo;
    var escritor = "";
    if (lista != null) {
        escritor += "<table id='tablaContratoPreventivo'>" +
                    "<thead>" +
                        "<th class=" + "\"style1\" " + "style=" + "\"width:30px;\" " + "></th>" +
                        "<th>Cod. Contrato</th>" +
                        '<th>Edificio</th>' +
                        '<th style=\"display:none\">idEdificio</th>' +
                        "<th>Proveedor</th>" +
                        '<th style=\"display:none\">idProveedor</th>' +
                        "<th>Fecha Registro</th>" +
                        "<th>Periodo</th>" +
                        '<th style="display:none">Descripcion</th>' +
                        '<th style="display:none">Fecha Inicio</th>' +
                        '<th style="display:none">Fecha Fin</th>' +
                        '<th></th>' +
        //"<th class=" + "\"style1\" "+ "style="+"\"width:30px;\" "+"></th>"+
                    "</thead>";
        escritor += '<tbody id="bodyContratoPreventivo">';

        $.each(lista, function (i, item) {
            escritor += "<tr>";
            escritor += "<td class=" + "\"style1\"" + " style=" + "\width:30px;\"" + " align=" + "\"center\"" + "><input id=" + "\"RadioButton1\"" + " name=" + "\"RCP\"" + " type=" + "\"radio\"" + " value=" + "\"1\"" + " style=" + "\"width:30px;\"/></td>";
            escritor += '<td "style="+"\"width:auto;\">' + item.IdContratoPreventivo + '</td>';
            escritor += '<td>' + item.NombreEdificio + '</td>';
            escritor += '<td style="display:none">' + item.IdEdificio + '</td>';
            escritor += '<td style="width:auto;">' + item.NombreProveedor + '</td>';
            escritor += '<td style="display:none">' + item.IdProveedor + '</td>';
            escritor += '<td style="width:auto;">' + item.FechaRegistro + '</td>';
            escritor += '<td style="width:auto;">' + item.Periodo + '</td>';
            escritor += '<td style="display:none">' + item.Descripcion + " " + '</td>';
            escritor += '<td style="display:none">' + item.FechaInicial + '</td>';
            escritor += '<td style="display:none">' + item.FechaFinal + '</td>';
            escritor += '<td class="style1" style="width:30px;" align="center"><button class="Detalle" id="Detalle'+ (i+1) +'" style="margin-left:auto; margin-right:auto;">Detalle Contrato</button></td>';
            //escritor += "<td class="+"\"style1\""+ " style="+"\width:30px;\""+" align="+"\"center\""+"><input id="+"\"RadioButton1\""+" name="+"\"R1\""+ " type="+"\"radio\""+" value="+"\"1\""+" style="+"\"width:30px;\"/></td>";
            escritor += "</tr>";
        });

        escritor += "</toby>";

        escritor += "</table>";
        $("#TablaDinamicaBusquedaCP").html(escritor);

        var total = $(".Detalle").length;
        for (var j = 1; j <= total; j++) {
            formatoDetalle('Detalle' + j);
            modificarDetalle('Detalle' + j);
        }

        if (lista != null) {
            $("#holderCP").jPages({
                containerID: "bodyContratoPreventivo",
                perPage: 10,
                delay: 20,
                startPage: 1,
                midRange: 3,
                animation: "flipInY"
            });
            $("#holderCP").show();
            $("#BscBtnModificar").show();
            $("#BscBtnEliminar").show();
        }
    } else {
        escritor = "<p>No se encontró ninguna coincidencia</p>";
        $("#TablaDinamicaBusquedaCP").html(escritor);
        $("#holderCP").hide();
        $("#BscBtnModificar").hide();
        $("#BscBtnEliminar").hide();
    }
    box3.remove();
}

function formatoDetalle(detalle) {
    $('#' + detalle).button({
        icons: {
            primary: "ui-icon-pencil"
        },
        text: false
    });
}

function formatoAgregar(detalle) {
    $('#' + detalle).button({
        icons: {
            primary: "ui-icon-search"
        },
        text: false
    });
}
//modificar detalle.....
function modificarDetalle(idBuscar) {
    var nameB = "",
        emailB = "",
        passwordB = "",
        allFields = $([]).add(nameB).add(emailB).add(passwordB),
        tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }

    $("#modalDetalle").dialog({
        autoOpen: false,
        height: 400,
        width: 650,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var bValid = true;
                allFields.removeClass("ui-state-error");
                if (bValid) {
                    if (true) {
                        var idContrato, nombreEdificio, idEdificio, nombreProveedor, idProveedor, fecha, periodo, descripcion, fecha_inicial, fecha_final;
                        $("Detalle" + idBuscar).parents("tr").children("td").each(function (index2) {
                            switch (index2) {
                                case 1:
                                    idContrato = $(this).text();
                                    break;
                                case 2:
                                    nombreEdificio = $(this).text();
                                    break;
                                case 3:
                                    idEdificio = $(this).text();
                                    break;
                                case 4:
                                    nombreProveedor = $(this).text();
                                    break;
                                case 5:
                                    idProveedor = $(this).text();
                                    break;
                                case 6:
                                    fecha = $(this).text();
                                    break;
                                case 7:
                                    periodo = $(this).text();
                                    break;
                                case 8:
                                    descripcion = $(this).text();
                                    break;
                                case 9:
                                    fecha_inicial = $(this).text();
                                    break;
                                case 10:
                                    fecha_final = $(this).text();
                                    break;
                            }
                        })
                        //alert(idMantenible + ' - ' + nombreMantenible + ' - ' + tipoMantenible + ' - ' + areaComun);
                        //alert("idMantenible" + idBuscar);
                        var numero = document.getElementById("BvmLblNumDetalle").innerHTML;
//                        if (existeMantenible(idMantenible)) alert("Ya se escogio este mantenible");
//                        else {
//                            document.getElementById("idMantenible" + numero).innerHTML = idMantenible;
//                            document.getElementById("NombreMantenible" + numero).innerHTML = nombreMantenible;
//                            document.getElementById("TipoMantenible" + numero).innerHTML = tipoMantenible;
//                            document.getElementById("AreaComun" + numero).innerHTML = areaComun;
//                            $(this).dialog("close");
//                        }
                        
                    }
                    else {
                        alert("Debe seleccionar una fila");
                    }
                    $(this).dialog("close");
                }
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#" + idBuscar).click(function () {
        //if ($("#RegTbxEdificioAutocompletado").val() != "") {
            document.getElementById("BvmLblNumDetalle").innerHTML = idBuscar;
            var idContrato, nombreEdificio, idEdificio, nombreProveedor, idProveedor, fecha, periodo, descripcion, fecha_inicial, fecha_final;
            //alert(idBuscar);
            $("#" + idBuscar).parents("tr").children("td").each(function (index2) {
                switch (index2) {
                    case 1:
                        idContrato = $(this).text();
                        break;
                }
            })
            //alert(idContrato);
            verDetalle(idContrato);
            //document.getElementById("RvmTbxEdificioMantenible").value = $("#RegTbxEdificioAutocompletado").val();
            //document.getElementById("RvmTbxEdificioMantenible").name = $("#RegTbxEdificioAutocompletado").attr("name");
            //selectAreaComun($("#RegTbxEdificioAutocompletado").attr("name"));
            //alert(idBuscar);
            $("#modalDetalle").dialog("open");
        //}
        //else alert('Debe ingresar un edificio');
    });

};

function esperarListaDetalleCP() {
    
}

function verDetalle(idContrato) {

    var enviar = {
        IdContratoPreventivo: idContrato,
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "verDetalleContrato",
        beforeSend: esperarListaDetalleCP(),
        success: llegadaListaDetalleCP
    });
}

function llegadaListaDetalleCP(data) {
    var lista = data.ListaContratoPreventivo;
    var escritor = "";
    if (lista != null) {
        escritor += "<table id='tablaVerDetalleContrato'>" +
                    "<thead>" +
//                        "<th class=" + "\"style1\" " + "style=" + "\"width:30px;\" " + "></th>" +
                        "<th>Cod. Contrato</th>" +
                        '<th style="display:none">idMantenible</th>' +
                        '<th>Mantenible</th>' +
                        '<th>Fecha Inicio</th>' +
                        '<th>Fecha Fin</th>' +
//                        '<th></th>' +
        //"<th class=" + "\"style1\" "+ "style="+"\"width:30px;\" "+"></th>"+
                    "</thead>";
        escritor += '<tbody id="bodyVerDetalleContrato">';

        $.each(lista, function (i, item) {
            escritor += "<tr>";
//            escritor += "<td class=" + "\"style1\"" + " style=" + "\width:30px;\"" + " align=" + "\"center\"" + "><input id=" + "\"RadioButton1\"" + " name=" + "\"RCP\"" + " type=" + "\"radio\"" + " value=" + "\"1\"" + " style=" + "\"width:30px;\"/></td>";
            escritor += '<td "style="+"\"width:auto;\">' + item.IdContratoPreventivo + '</td>';
            escritor += '<td style="display:none">' + item.IdMantenible + '</td>';
            escritor += '<td>' + item.NombreMantenible + '</td>';
            escritor += '<td>' + item.FechaInicial + '</td>';
            escritor += '<td>' + item.FechaFinal + '</td>';
//            escritor += '<td class="style1" style="width:30px;" align="center"><button class="Detalle" id="Agregar'+ (i+1) +'" style="margin-left:auto; margin-right:auto;">Agregar Mantenible</button></td>';
            //escritor += "<td class="+"\"style1\""+ " style="+"\width:30px;\""+" align="+"\"center\""+"><input id="+"\"RadioButton1\""+" name="+"\"R1\""+ " type="+"\"radio\""+" value="+"\"1\""+" style="+"\"width:30px;\"/></td>";
            escritor += "</tr>";
        });

        escritor += "</toby>";

        escritor += "</table>";

        $("#tablaDinamicaMantenibleDetalle").html(escritor);

//        var total = $(".Detalle").length;
//        for (var j = 1; j <= total; j++) {
//            formatoAgregar('Agregar' + j);
//            //agregarMantenible('Agregar' + j);
//        }

        if (lista != null) {
            $("#holderMantenibleDetalle").jPages({
                containerID: "bodyVerDetalleContrato",
                perPage: 10,
                delay: 20,
                startPage: 1,
                midRange: 3,
                animation: "flipInY"
            });
            $("#holderMantenibleDetalle").show();
            $("#BscBtnModificar").show();
            $("#BscBtnEliminar").show();
        }
    } else {
        escritor = "<p>No se encontró ninguna coincidencia</p>";
        $("#tablaDinamicaMantenibleDetalle").html(escritor);
        $("#holderMantenibleDetalle").hide();
    }
    
}